package com.ruoyi.system.domain;

import java.math.BigDecimal;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 资源回收记录对象 credit_recycle_record
 * 
 * @author ruoyi
 * @date 2024-01-26
 */
public class CreditRecycleRecord extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 记录ID */
    private Long recordId;

    /** 用户ID */
    @Excel(name = "用户ID")
    private Long userId;

    /** 回收站点ID */
    @Excel(name = "回收站点ID")
    private Long stationId;

    /** 回收类型 */
    @Excel(name = "回收类型")
    private String recycleType;

    /** 回收数量 */
    @Excel(name = "回收数量")
    private BigDecimal quantity;

    /** 单位 */
    @Excel(name = "单位")
    private String unit;

    /** 回收重量 */
    private BigDecimal weight;

    /** 获得积分 */
    @Excel(name = "获得积分")
    private Integer points;

    /** 减排CO₂(kg) */
    @Excel(name = "减排CO₂(kg)")
    private BigDecimal carbonReduction;

    /** 状态 */
    @Excel(name = "状态", readConverterExp = "pending=待确认,confirmed=已确认,rejected=已拒绝")
    private String status;

    /** 照片URL */
    @Excel(name = "照片URL")
    private String photoUrl;

    /** 备注 */
    @Excel(name = "备注")
    private String remark;

    public void setRecordId(Long recordId) 
    {
        this.recordId = recordId;
    }

    public Long getRecordId() 
    {
        return recordId;
    }
    public void setUserId(Long userId) 
    {
        this.userId = userId;
    }

    public Long getUserId() 
    {
        return userId;
    }
    public void setStationId(Long stationId) 
    {
        this.stationId = stationId;
    }

    public Long getStationId() 
    {
        return stationId;
    }
    public void setRecycleType(String recycleType) 
    {
        this.recycleType = recycleType;
    }

    public String getRecycleType() 
    {
        return recycleType;
    }
    public void setQuantity(BigDecimal quantity) 
    {
        this.quantity = quantity;
    }

    public BigDecimal getQuantity() 
    {
        return quantity;
    }
    public void setUnit(String unit) 
    {
        this.unit = unit;
    }

    public String getUnit() 
    {
        return unit;
    }
    public void setWeight(BigDecimal weight) {
        this.weight = weight;
    }
    public BigDecimal getWeight() {
        return weight;
    }
    public void setPoints(Integer points) 
    {
        this.points = points;
    }

    public Integer getPoints() 
    {
        return points;
    }
    public void setCarbonReduction(BigDecimal carbonReduction) 
    {
        this.carbonReduction = carbonReduction;
    }

    public BigDecimal getCarbonReduction() 
    {
        return carbonReduction;
    }
    public void setStatus(String status) 
    {
        this.status = status;
    }

    public String getStatus() 
    {
        return status;
    }
    public void setPhotoUrl(String photoUrl) 
    {
        this.photoUrl = photoUrl;
    }

    public String getPhotoUrl() 
    {
        return photoUrl;
    }
    public void setRemark(String remark) 
    {
        this.remark = remark;
    }

    public String getRemark() 
    {
        return remark;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("recordId", getRecordId())
            .append("userId", getUserId())
            .append("stationId", getStationId())
            .append("recycleType", getRecycleType())
            .append("quantity", getQuantity())
            .append("unit", getUnit())
            .append("points", getPoints())
            .append("carbonReduction", getCarbonReduction())
            .append("status", getStatus())
            .append("photoUrl", getPhotoUrl())
            .append("remark", getRemark())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
} 